#ifndef CASILLERO_H_
#define CASILLERO_H_

//clase auxiliar para contener la informacion de un color, dividiendolo en sus componentes de rojo, verde y azul.

class Color{
public:
	unsigned char rojo;
	unsigned char verde;
	unsigned char azul;
};

//Representa un casillero de un tablero o pieza, que puede estar "lleno" o "vacio".

class Casillero {
private:
	bool casilleroLLeno;
	Color color;

public:
	unsigned int posicionHorizontal; //variable usada para la implementacion de tablero
	//POST: Se crea el casillero VACIO, con un color por defecto.
	Casillero();
	//POST: Crea el casillero LLENO con un color definido por el usuario.
	Casillero(Color color);
	~Casillero();
	// PRE: Ninguna.
	// POST: Devuelve el estado actual del casillero, TRUE si esta lleno o FALSE si esta vacio.
	bool getEstado();
	// PRE:Ninguna.
	// POST: Devuelve el color actual del casillero.
	Color getColor();
	// PRE:Ninguna.
	// POST:Llena el casillero con el color especificado, incluso si ya estaba lleno con otro color.
	void llenarCasillero(Color color);
	// PRE:Ninguna.
	// POST: El casillero estara vacio despues de llamar este metodo
	void vaciarCasillero();

};

#endif /* CASILLERO_H_ */
